﻿using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using transferObjects;
using System.Data.SqlClient;
using System.Collections.Generic;
using dao.sqlServer2005;
using System.IO;
using dao;
using controls;

/// <summary>
/// Descripción breve de PrestadorServicioService
/// </summary>
namespace services
{
    public class FaenaService
    {
        //envia los datos al DB para agregar la empresa
        public int agregarFaena(Faena faena)
        {
            SqlConnection conn = ConnectionManager.getSqlConnection();
           
            //Obtener empresaID
            conn.Open();
            EmpresaDB empresaDB = new EmpresaDB(conn);
            String empresaID = empresaDB.obtenerEmpresaID(faena.NombreFantasia);
            conn.Close();


            conn.Open();
            //instancia para hacer transacciones a la bd
            FaenaDB faenaDB = new FaenaDB(conn);
            int res = faenaDB.agregarFaena(faena, empresaID);


            conn.Close();
            return res;
        }

        //FALTA MODIFICAR FAENA
        //modificar empresa
        public int modificarFaena(Faena faena)
        {
            //
            SqlConnection conn = ConnectionManager.getSqlConnection();

            //Obtener empresaID
            conn.Open();
            EmpresaDB empresaDB = new EmpresaDB(conn);
            String empresaID = empresaDB.obtenerEmpresaID(faena.NombreFantasia);
            conn.Close();


            conn.Open();
            //instancia para hacer transacciones a la bd
            FaenaDB faenaDB = new FaenaDB(conn);
            int res = faenaDB.modificarFaena(faena, empresaID);
            conn.Close();

            return res;

           
        }

        //terminar eso
        //modificar trabajador
        //validadores 2 tipos
        //pensar logicas cuando hay modificacion

        //obtener una Faena  send(NombreFaena,NombreFantasia);
        public Faena obtenerFaena(String nombreFaena, String nombreFantasia)
        {
            SqlConnection conn = ConnectionManager.getSqlConnection();

            //Obtener empresaID
            conn.Open();
            EmpresaDB empresaDB = new EmpresaDB(conn);
            String empresaID = empresaDB.obtenerEmpresaID(nombreFantasia);
            conn.Close();

            //ahora con el nombre de la faena y el id de la empresa hago el select
            conn.Open();
            FaenaDB faenaDB = new FaenaDB(conn);
            Faena faena = faenaDB.obtenerFaena(nombreFaena, empresaID);
            conn.Close();
            return faena;
        }

        //obtenerTodasFaenas
        public Faena[] obtenerTodasFaenas()
        {
            SqlConnection conn = ConnectionManager.getSqlConnection();

            //Obtener datos de la faena
            conn.Open();
            FaenaDB faenaDB = new FaenaDB(conn);
            List<Faena> resp = faenaDB.obtenerTodasFaenas();
            conn.Close();

            return resp.ToArray();
        }

        //obtener faenas de una empresa
        public Faena[] obtenerFaenasEmpresa(String empresaID)
        {
            SqlConnection conn = ConnectionManager.getSqlConnection();

            //Obtener datos de la faena
            conn.Open();
            FaenaDB faenaDB = new FaenaDB(conn);
            List<Faena> resp = faenaDB.obtenerFaenasEmpresa(empresaID);
            conn.Close();

            return resp.ToArray();
        }

        
       

    }
}
